home *** CD-ROM | disk | FTP | other *** search
-
-
-
- SSSSQQQQRRRRTTTT((((3333MMMM)))) SSSSQQQQRRRRTTTT((((3333MMMM))))
-
-
-
- NNNNAAAAMMMMEEEE
- sqrt, fsqrt, sqrtf, sqrtl, cbrt, cbrtl - cube root, square root
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ####iiiinnnncccclllluuuuddddeeee <<<<mmmmaaaatttthhhh....hhhh>>>>
-
- ddddoooouuuubbbblllleeee ssssqqqqrrrrtttt((((ddddoooouuuubbbblllleeee xxxx))));;;;
- ffffllllooooaaaatttt ffffssssqqqqrrrrtttt((((ffffllllooooaaaatttt xxxx))));;;;
- ffffllllooooaaaatttt ssssqqqqrrrrttttffff((((ffffllllooooaaaatttt xxxx))));;;;
- lllloooonnnngggg ddddoooouuuubbbblllleeee ssssqqqqrrrrttttllll((((lllloooonnnngggg ddddoooouuuubbbblllleeee xxxx))));;;;
-
- ddddoooouuuubbbblllleeee ccccbbbbrrrrtttt((((ddddoooouuuubbbblllleeee xxxx))));;;;
- lllloooonnnngggg ddddoooouuuubbbblllleeee ccccbbbbrrrrttttllll((((lllloooonnnngggg ddddoooouuuubbbblllleeee xxxx))));;;;
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The single-precision and long double-precision routines listed above are
- only available in the standard math library, -_l_m, and in -_l_m_x.
-
- The _s_q_r_t functions return the nonnegative square root of their single
- argument _x. The function _s_q_r_t both accepts and returns values of type
- double. The functions _f_s_q_r_t and _s_q_r_t_f accept and return float values.
- The function _s_q_r_t_l both accepts and returns values of type long double.
-
- A fast version of _s_q_r_t and _f_s_q_r_t which are slightly less accurate are
- available in the library -_l_f_a_s_t_m. On mips2 and newer processors, those
- routines are identical to the ones in libm.a, because there are hardware
- square root instructions.
-
- The _c_b_r_t functions return the cube root of their single argument _x. The
- function _c_b_r_t both accepts and returns values of type double. The
- function _c_b_r_t_l both accepts and returns values of type long double.
-
- DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
- In the diagnostics below, functions in the standard math library _l_i_b_m._a,
- are referred to as -_l_m versions, those in math library _l_i_b_m_x._a are
- referred to as -_l_m_x versions, and those in the the BSD math library
- _l_i_b_m_4_3._a are referred to as -_l_m_4_3 versions. The -_l_m and -_l_m_x versions
- always return the default Quiet NaN and set _e_r_r_n_o to EDOM when a NaN is
- used as an argument. A NaN argument usually causes the -_l_m_4_3 versions to
- return the same argument. The -_l_m_4_3 versions never set _e_r_r_n_o.
-
- If _x is negative, the _s_q_r_t functions return a quiet NaN. The -_l_m and
- -_l_m_4_3 versions also set the flag in the floating-point coprocessor to
- indicate an invalid operation. The functions in the standard math library
- -_l_m and in library -_l_m_x also set _e_r_r_n_o to EDOM.
-
- See matherr(3M) for a description of error handling for -_l_m_x functions.
-
- NNNNOOOOTTTTEEEESSSS
- Long double operations on this system are only supported in round to
- nearest rounding mode (the default). The system must be in round to
- nearest rounding mode when calling any of the long double functions, or
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- SSSSQQQQRRRRTTTT((((3333MMMM)))) SSSSQQQQRRRRTTTT((((3333MMMM))))
-
-
-
- incorrect answers will result.
-
- Users concerned with portability to other computer systems should note
- that the long double and float versions of these functions are optional
- according to the ANSI C Programming Language Specification ISO/IEC 9899 :
- 1990 (E).
-
- Long double functions have been renamed to be compliant with the ANSI-C
- standard, however to be backward compatible, they may still be called
- with the double precision function name prefixed with a q.
-
- User's code which calls sqrt() or sqrtf() will be compiled into the
- machine instruction sqrt.d or sqrt.s if the code #includes <math.h>.
-
- EEEERRRRRRRROOOORRRR ((((dddduuuueeee ttttoooo RRRRoooouuuunnnnddddooooffffffff eeeettttcccc....))))
- _c_b_r_t is accurate to within 0.7 _u_l_ps.
-
- lllliiiibbbbmmmm....aaaa _s_q_r_t conforms to IEEE 754 and is correctly rounded in accordance
- with the rounding mode in force; the error is less than half an _u_l_p in
- the default mode (round to nearest).
-
- The lllliiiibbbbffffaaaassssttttmmmm....aaaa _s_q_r_t and _f_s_q_r_t error is a maximum of one _u_l_p. (See
- however, the comments regarding -lfastm above.)
-
- An _u_l_p is one _Unit in the _Last _Place carried.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- math(3M), libmx(3M)
-
- AAAAUUUUTTTTHHHHOOOORRRR
- W. Kahan
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-